Шаг 133 - Параметры

В предыдущем разделе показан самый простой запрос, полностью заданный в файле приложения Internet Database Connector. Более мощные страницы Web могут быть созданы с помощью параметров. Параметры представляют собой имена и значения элементов управления форм HTML, типа <INPUT…>, а также имена, указанные непосредственно в адресах URL. Эти имена и значения посылаются средствами просмотра Web и могут использоваться в операторах SQL на сервере.

Например, в последнем разделе запроса в Sample.idc возвращаются только авторы, реализация книг которых в течении года превысила 5000 долларов. Используя параметр, можно сформировать страницу Web, на которой пользователь решит, какое число ввести вместо 5000.

На странице Web пользователь вводит сумму реализации; введенная сумма присваивается переменной sales. Файл Dbsamp2.htm содержит форму с полем для ввода необходимого числа:

133_1.gif (8716 b)

Ниже приведен синтаксис HTML для создания поля ввода и кнопки:

<FORM METHOD="POST" ACTION="/scripts/samples/sample2.idc"> 
<P> 
Введите объем продаж за год: <INPUT NAME="sales" VALUE="5000" > 
<P> 
<INPUT TYPE="SUBMIT" VALUE="Выполнить запрос"> 
</FORM> 

Файл приложения Internet Database Connector (Sample2.idc) использует параметр вместо числа 5000:

SQLStatement: 
+SELECT au_lname, ytd_sales 
+ from pubs.dbo.titleview 
+ where ytd_sales > %sales% 

Параметр имеет имя sales, что соответствует предложению <INPUT NAME= "sales" …> на странице Web. Параметры должны заключаться в символы процента (%) для отличия от обычных идентификаторов SQL. Когда приложение Internet Database Connector встретит параметр в файле IDC, оно подставит значение, посланное средством просмотра Web, и отправит оператор SQL драйверу ODBC.

Символ процента (%) является символом подстановки в SQL. Символы подстановки применяются в запросах SQL для поиска элементов таблицы, содержащих возможные комбинации символов. Чтобы отличать символ подстановки SQL от маркера языка HTML необходимо ввести символ % в следующем виде: %%. Например:

SQLStatement: 
+SELECT au_lname, ytd_sales, title 
+ from pubs.dbo.titleview 
+ where title like '%%%title%%%' 

Символ процента для использования в качестве символа подстановки SQL введен дважды; кроме того, добавлены символы процента для разметки параметра. В примере, запрос ищет все записи, содержащие слово title в столбце title. Этот запрос возвращает следующее:

title 
title and deed 
main title page 
author and title 

Чтобы отобрать все записи, начинающиеся со слова title, можно создать следующий запрос:

SQLStatement: 
+SELECT au_lname, ytd_sales, title 
+ from pubs.dbo.titleview 
+ where title like '%title%%%' 

Запрос возвращает следующие данные:

title 
title and deed 

Чтобы отобрать все записи, завершающиеся словом title, можно создать следующий запрос:

SQLStatement: 
+SELECT au_lname, ytd_sales, title 
+ from pubs.dbo.titleview 
+ where title like '%%%title%' 

Запрос возвращает следующие данные:

title 
author and title 

С помощью одного запроса можно сформировать наборы страниц Web со ссылками для запуска других запросов. Например, можно отформатировать имя автора как ссылку на новый запрос и использовать ее для вывода названий книг отдельного автора.

Например, документ Dbsamp3.htm служит для запуска запроса из файла Sample3.idc, который в свою очередь использует файл Sample3.htx в качестве шаблона вывода. После обработки запроса документ Sample3.htx содержит фамилии авторов в виде ссылок, по щелчку которых отображаются названия книг соответствующего автора с помощью файлов Sample3a.idc и Sample3a.htx.

Hosted by uCoz